table of contents
GLUTMOUSEFUNC(3) | Library Functions Manual (local) | GLUTMOUSEFUNC(3) |
NAME¶
glutMouseFunc
—
Sets the mouse-button callback for the current
window.
LIBRARY¶
OpenGLUT - input
SYNOPSIS¶
#include
<openglut.h>
void
glutMouseFunc
(void(
*callback )( int button,
int state,
int x,
int y ));
PARAMETERS¶
callback
Client hook for mouse-buttons.
DESCRIPTION¶
Whenever a mouse button is pressed or released in an OpenGLUT window, OpenGLUT checks if that window has a mouse-button (Mouse) callback registered. If so, OpenGLUT gives the event to the handler.
button
is the button number, starting from 0.
state
is
GLUT_UP
or
GLUT_DOWN
to indicate the button's new state. The other parameters are the mouse coordinates.
Mouse wheel motion can be reported as buttons. If you do not request otherwise, a wheel spun forward will act like a button clicking down, immediately followed by clicking up. Spinning the same wheel backward will act like a different button clicking. Mouse wheel pseudo-buttons are added after all real buttons.
While the button is held and the mouse is dragged, you receive mouse-motion events (glutMotionFunc()), even if the mouse is dragged out of the window.
This callback is bound to the
current window
.
CAVEATS¶
Reporting the wheel as buttons is actually inherited from X. freeglut added code to support this on WIN32. OpenGLUT inherited that support from freeglut.
Old GLUT defines the symbols
GLUT_LEFT_BUTTON,
GLUT_RIGHT_BUTTON,
and
GLUT_MIDDLE_BUTTON.
However, mice can have more than 3 buttons, so these symbols are deprecated.
Windows created via glutCreateMenuWindow() always cascade keyboard and mouse events to their parent.
SEE ALSO¶
glutMotionFunc(3) glutPassiveMotionFunc(3) glutMouseWheelFunc(3)